﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BasicWave
{


    /// <summary>
    /// interfaccia che devono implementare TUTTI I CANALI
    /// che vogliono registrarsi sul mixer...
    /// </summary>
    public interface IAudioChannel
    {

        /// <summary>
        /// questa funzione viene chiamata dal MASTER Channel.
        /// Il master channel passa un riferimento ad un buffer da lui allocato
        /// al canale "Figlio" ... i canale figlio inserisce nel buffer
        /// i dati contenuti nel proprio buffer.
        /// 
        /// La funzione è fondamentale !!!
        /// </summary>
        /// <param name="aBuffer"></param>
        /// <param name="size"></param>
        void FillChunk(ref byte[] aBuffer, int size);
    }
}
